# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
# Contributor: Carlo Landmeter <clandmeter@alpinelinux.org>
# Contributor: Dan Williams <dan@ma.ssive.co>
pkgname=libseccomp
pkgver=2.5.2
pkgrel=1
pkgdesc="interface to the Linux Kernel's syscall filtering mechanism"
url="https://github.com/seccomp/libseccomp"
arch="all"
license="LGPL-2.1-or-later"
depends_dev="linux-headers"
makedepends="$depends_dev gperf cython python3 python3-dev"
checkdepends="bash"
subpackages="$pkgname-static $pkgname-dev $pkgname-doc py3-$pkgname:py3"
source="https://github.com/seccomp/libseccomp/releases/download/v$pkgver/libseccomp-$pkgver.tar.gz
	remove-redefinition-prctl.patch
	tests-11-basic-errors-support-older-kernels.patch
	"

case "$CARCH" in
	mips*) options="$options !check";;
esac

# secfixes:
#   2.4.0-r0:
#     - CVE-2019-9893

build() {
	./configure \
		--build=$CBUILD \
		--host=$CHOST \
		--prefix=/usr \
		--sysconfdir=/etc \
		--mandir=/usr/share/man \
		--infodir=/usr/share/info \
		--enable-python \
		--enable-static \
		--localstatedir=/var
	make
}

check() {
	# commit be65b26b67099be2b2b4890d736dbd1ad15adf36 adapted to new kernel 5.x syscalls
	# as long as we are at 4.19 kernel, we need this change
	case "$CARCH" in
		ppc64le|s390x) rm -f tests/36-sim-ipc_syscalls.tests \
			             tests/37-sim-ipc_syscalls_be.tests;;
	esac
	# fix python shebang
	sed -i -e 's@cmd /usr/bin/env python @cmd /usr/bin/env python3 @' tests/regression
	sed -i -e 's@^#!/usr/bin/env python$@#!/usr/bin/env python3@' tests/*.py
	make check
}

package() {
	make DESTDIR="$pkgdir" install
}

py3() {
	pkgdesc="Python 3 bindings for $pkgname"
	depends="$depends $pkgname python3"

	amove usr/lib/python3*
}

sha512sums="
b2a95152cb274d6b35753596fd825406dae20c4a48b2f4076f835f977ecf324de38a3fe02e789dc20b49ecf6b4eb67f03e7733e92d40f5e20f25874307f1c2ac  libseccomp-2.5.2.tar.gz
f2c31dcafdc9a1ad78e32e76b75e1c1603071eaa3f979e1f2483b879a34ad07e0a4ef3642196a695415cdf81e1ed2bf325175872fb4e203ef9d0e668c287493f  remove-redefinition-prctl.patch
1b80fe8db16aead6f00ac30687b496b01cab16b60b2177f5992df7ed86bef6578de3ead74f2860b1ba951f62d6ba83aefd377d8ec2bc2f771e71ddafbe4a4b56  tests-11-basic-errors-support-older-kernels.patch
"
